﻿using Clancy.Interfaces;
using Ninject.Modules;

namespace Clancy.Bl
{
    public class BlCatalog : NinjectModule
    {
        public override void Load()
        {
            Bind<ISurveilanceStorage>().To<SurveilanceStorage>().InSingletonScope();
            Bind<ISelectionManager>().To<SelectionManager>().InSingletonScope();
            Bind<ISurveilanceLogic>().To<SurveilanceLogic>().InSingletonScope();
            Bind<IOperationAdapterFactory>().To<OperationAdapterFactory>().InSingletonScope();
            Bind<IRecordingManager>().To<RecordingManager>().InSingletonScope();
            Bind<IOperationalAdapterProvider>().To<OperationalAdapterProvider>().InSingletonScope();
            Bind<IMotionZoneFactory>().To<MotionZoneFactory>().InTransientScope();
        }
    }
}